package com.xmy.cultivate.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xmy.cultivate.entity.AuthAdminContent;
import com.xmy.cultivate.entity.LackCourseLog;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xmy.cultivate.entity.response.LackRecourseRate;
import com.xmy.cultivate.entity.views.LeadDataRs;
import com.xmy.cultivate.entity.views.StudentRatePay;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 缺课记录 服务类
 * </p>
 *
 * @author hpiggy
 * @since 2023-07-28
 */
public interface ILackCourseLogService extends IService<LackCourseLog> {

    List<LackRecourseRate> getLackRade(String schoolId, Long subjectsId, Integer type, Integer yearPart, Integer quarterNum, String startDate, String endDate, Long trackId, String lessonType);

    public abstract IPage<LackRecourseRate> getLackRadeDetail(IPage<?> iPage, Integer yearPart, Integer quarterNum, Long schoolId, Long teacherId, Long gradeId, Long subjectsId, Integer type, String startDate, String endDate, Long trackId, Integer detailType, String lessonType, String isLack, String stuType);


    List<LackRecourseRate> getRepairLackRade(String schoolId, String subjectsId, Integer type, Integer yearPart, Integer quarterNum, String startDate, String endDate, Long trackId, String lessonType, String yearClassId, String classTypeIdStr, String startLessonNum, String endLessonNum, String lackType, AuthAdminContent authAdminContent, LeadDataRs leadDataRs);

    public abstract IPage<LackRecourseRate> getRepairLackRadeDetail(IPage<?> iPage, String schoolId, Long teacherId, Long gradeId, String subjectsId, Integer type, Integer yearPart, Integer quarterNum, String startDate, String endDate, Long trackId, String lessonType, String yearClassId, String isRepair, String classTypeIdStr, Integer isCollect, String lessonNum, String startLessonNum, String endLessonNum, String lackType, AuthAdminContent authAdminContent, LeadDataRs leadDataRs);


    /**
     * 请假补课率战队列表
     */
    public List<LackRecourseRate> getRepairLackRadeTeamList(Integer yearPart, Integer quarterNum, String subjectsId, String startDate, String endDate, String yearClassId, String classTypeIdStr, String teamId, String classify, String trackType, String startLessonNum, String endLessonNum, String lackType, AuthAdminContent authAdminContent, String schoolId, LeadDataRs leadDataRs);


    IPage<LackRecourseRate> getRepairLackRadeTeamDetail(IPage<?> page, Integer yearPart, Integer quarterNum, String schoolId, Long teacherId, Long gradeId, String subjectsId, String startDate, String endDate, String yearClassId, String isRepair, String classTypeIdStr, String teamId, String classify, String trackType, Integer isCollect, String lessonNum, String startLessonNum, String endLessonNum, String lackType, AuthAdminContent authAdminContent, LeadDataRs leadDataRs);
}
